/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Interface.java to edit this template
 */
package com.yxw.live_vod_boot.service;


import com.yxw.live_vod_boot.dto.YxLiveWatchLogAddDTO;
import com.yxw.live_vod_boot.entity.YxLiveShopUserEntity;
import com.yxw.live_vod_boot.entity.YxLiveWatchLogEntity;
import com.yxw.yxnet_cd_center.common.utils.BaseResult;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
/**
 *
 * @author Administrator
 */
public interface LiveGeneraUserProcessService {
    /**
     * 用户进入直播间
     * @param  liveId
     * @return BaseResult
     */
    public BaseResult userGoIntoLiveHome(HttpServletRequest httpRequest,String liveId);
    /**
     * 用户退出直播间
     * @param  liveId
     * @return BaseResult
     */
    public BaseResult userLeaveLiveHome(HttpServletRequest httpRequest,String liveId);
     /**
     * 查询直播间用户数量
     * @param  liveId
     * @return BaseResult
     */
    public BaseResult getLiveHomeUserCount(String liveId);
    /*** 
    * 增加用户观看日志
    * @param oYxLiveWatchLogDTO
    * @return BaseResult
    **/
    public BaseResult liveWatchLogAddToCache(YxLiveWatchLogAddDTO oYxLiveWatchLogAddDTO);
    /*** 
    * 增加用户观看日志
    * @param oYxLiveWatchLogDTO
    * @return BaseResult
    **/
    public BaseResult liveWatchLogAddToDb(List<YxLiveWatchLogEntity> watchLogList);
    /**
     * 查看店铺是否在开播
     * @param  liveShopId
     * @return BaseResult
     */
    public BaseResult userCheckShopLiveStreamIsActive(Long liveShopId);
    /*** 
    * 根据店铺Id查询店铺在线员工
    * @param liveShopId
    * @param userId
    * @return List<YxLiveShopUserEntity>
    **/
    public BaseResult getShopUserInfor(Long liveShopId,Long userId);
}
